package main4aliyunapi
import (
    pe3b305959 "gitee.com/bitwormhole/cloud-aliyun-api/aliyun/implements"
    pdea5a0f47 "github.com/starter-go/httpagent"
     "github.com/starter-go/application"
)

// type pe3b305959.AliyunOpenAPIService in package:gitee.com/bitwormhole/cloud-aliyun-api/aliyun/implements
//
// id:com-e3b30595927e6a20-implements-AliyunOpenAPIService
// class:
// alias:alias-5fbe3259be914e08425cc316caa44d2f-Service
// scope:singleton
//
type pe3b3059592_implements_AliyunOpenAPIService struct {
}

func (inst* pe3b3059592_implements_AliyunOpenAPIService) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-e3b30595927e6a20-implements-AliyunOpenAPIService"
	r.Classes = ""
	r.Aliases = "alias-5fbe3259be914e08425cc316caa44d2f-Service"
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* pe3b3059592_implements_AliyunOpenAPIService) new() any {
    return &pe3b305959.AliyunOpenAPIService{}
}

func (inst* pe3b3059592_implements_AliyunOpenAPIService) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*pe3b305959.AliyunOpenAPIService)
	nop(ie, com)

	
    com.HTTPClients = inst.getHTTPClients(ie)
    com.DefaultClientEndpoint = inst.getDefaultClientEndpoint(ie)
    com.DefaultClientAccessKeyID = inst.getDefaultClientAccessKeyID(ie)
    com.DefaultClientAccessKeySecret = inst.getDefaultClientAccessKeySecret(ie)


    return nil
}


func (inst*pe3b3059592_implements_AliyunOpenAPIService) getHTTPClients(ie application.InjectionExt)pdea5a0f47.Clients{
    return ie.GetComponent("#alias-dea5a0f47697e78c03558bf00bc7ff9c-Clients").(pdea5a0f47.Clients)
}


func (inst*pe3b3059592_implements_AliyunOpenAPIService) getDefaultClientEndpoint(ie application.InjectionExt)string{
    return ie.GetString("${aliyun.open-api-client.default.endpoint}")
}


func (inst*pe3b3059592_implements_AliyunOpenAPIService) getDefaultClientAccessKeyID(ie application.InjectionExt)string{
    return ie.GetString("${aliyun.open-api-client.default.access-key-id}")
}


func (inst*pe3b3059592_implements_AliyunOpenAPIService) getDefaultClientAccessKeySecret(ie application.InjectionExt)string{
    return ie.GetString("${aliyun.open-api-client.default.access-key-secret}")
}


